require(tidyverse)
require(sf)
require(leaflet)
I am working on 3 CHONe projects, because 1 is not enough.
Here’s the code I used to map out my study sites. For OHI, I have a shapefile, but for the others, I’m only creating a box around the coordinates.
# set standard projection
projll <- "+proj=longlat +datum=WGS84"
# set OHI project
OHI <- read_sf("shapefiles/regions_final.shp") %>%
st_simplify(preserveTopology=T,dTolerance=1000) %>%
st_transform(projll) %>%
st_combine() %>%
st_sf(name="Remi Daigle",
description="OHI regional assessment",
CHONeProject="2.1.1",
geometry=.)
# set Atlantic LTRANS connectivity project
bcbbox <- c(-70.88808,39.89707,-47.28724,53.56291)
BC <- cbind(
c(bcbbox[1],bcbbox[3],bcbbox[3],bcbbox[1],bcbbox[1]),
c(bcbbox[2],bcbbox[2],bcbbox[4],bcbbox[4],bcbbox[2])
) %>%
list() %>% # put that matrix in a list
st_polygon() %>% # put that list in a simple features polygon
st_sfc(crs = projll) %>% # put that polygon into a simple features column and give projection info
st_sf(name="Remi Daigle",
description="Atlantic LTRANS connectivity",
CHONeProject="1.1.1",
geometry=.)%>% # finally make it an sf object
st_cast("MULTIPOLYGON")
# set Atlantic LTRANS connectivity project
Atlbbox <- c(-135.8003,45.3837,-122.0694,56.1647)
Atlantic <- cbind(
c(Atlbbox[1],Atlbbox[3],Atlbbox[3],Atlbbox[1],Atlbbox[1]),
c(Atlbbox[2],Atlbbox[2],Atlbbox[4],Atlbbox[4],Atlbbox[2])
) %>%
list() %>% # put that matrix in a list
st_polygon() %>% # put that list in a simple features polygon
st_sfc(crs = projll) %>% # put that polygon into a simple features column and give projection info
st_sf(name="Remi Daigle",
description="BC LTRANS connectivity",
CHONeProject="1.1.1",
geometry=.) %>% # finally make it an sf object
st_cast("MULTIPOLYGON")
# bind all my sites together
sites <- rbind(OHI,BC,Atlantic)
Finally, plot it!
cols <- RColorBrewer::brewer.pal(nrow(sites),"Dark2")
leaflet(sites) %>%
addTiles() %>%
addPolygons(group = ~description,
color = cols) %>%
addLegend("topright",
colors = cols,
labels = unique(sites$description))
NA
LS0tDQp0aXRsZTogIlJlbWkgRGFpZ2xlIg0Kb3V0cHV0OiBodG1sX25vdGVib29rDQotLS0NCg0KYGBge3IgbG9hZCBwYWNrYWdlcyxtZXNzYWdlPUZBTFNFLGNhY2hlPVRSVUV9DQpyZXF1aXJlKHRpZHl2ZXJzZSkNCnJlcXVpcmUoc2YpDQpyZXF1aXJlKGxlYWZsZXQpDQoNCmBgYA0KDQoNCkkgYW0gd29ya2luZyBvbiAzIENIT05lIHByb2plY3RzLCBiZWNhdXNlIDEgaXMgbm90IGVub3VnaC4NCg0KSGVyZSdzIHRoZSBjb2RlIEkgdXNlZCB0byBtYXAgb3V0IG15IHN0dWR5IHNpdGVzLiBGb3IgT0hJLCBJIGhhdmUgYSBzaGFwZWZpbGUsIGJ1dCBmb3IgdGhlIG90aGVycywgSSdtIG9ubHkgY3JlYXRpbmcgYSBib3ggYXJvdW5kIHRoZSBjb29yZGluYXRlcy4NCg0KYGBge3IgcHJlcGFyZSBzcGF0aWFsIGRhdGEsY2FjaGU9VFJVRX0NCiMgc2V0IHN0YW5kYXJkIHByb2plY3Rpb24NCnByb2psbCA8LSAiK3Byb2o9bG9uZ2xhdCArZGF0dW09V0dTODQiDQoNCiMgc2V0IE9ISSBwcm9qZWN0DQpPSEkgPC0gcmVhZF9zZigic2hhcGVmaWxlcy9yZWdpb25zX2ZpbmFsLnNocCIpICU+JSANCiAgICBzdF9zaW1wbGlmeShwcmVzZXJ2ZVRvcG9sb2d5PVQsZFRvbGVyYW5jZT0xMDAwKSAlPiUNCiAgICBzdF90cmFuc2Zvcm0ocHJvamxsKSAlPiUgDQogICAgc3RfY29tYmluZSgpICU+JSANCiAgICBzdF9zZihuYW1lPSJSZW1pIERhaWdsZSIsDQogICAgICAgICBkZXNjcmlwdGlvbj0iT0hJIHJlZ2lvbmFsIGFzc2Vzc21lbnQiLA0KICAgICAgICAgQ0hPTmVQcm9qZWN0PSIyLjEuMSIsDQogICAgICAgICBnZW9tZXRyeT0uKSANCg0KIyBzZXQgQXRsYW50aWMgTFRSQU5TIGNvbm5lY3Rpdml0eSBwcm9qZWN0DQpiY2Jib3ggPC0gYygtNzAuODg4MDgsMzkuODk3MDcsLTQ3LjI4NzI0LDUzLjU2MjkxKQ0KQkMgPC0gY2JpbmQoDQogICAgICAgICAgICBjKGJjYmJveFsxXSxiY2Jib3hbM10sYmNiYm94WzNdLGJjYmJveFsxXSxiY2Jib3hbMV0pLA0KICAgICAgICAgICAgYyhiY2Jib3hbMl0sYmNiYm94WzJdLGJjYmJveFs0XSxiY2Jib3hbNF0sYmNiYm94WzJdKQ0KICAgICAgICApICU+JSANCiAgICBsaXN0KCkgJT4lICAgICAgICAgICAgICAgICAgIyBwdXQgdGhhdCBtYXRyaXggaW4gYSBsaXN0DQogICAgc3RfcG9seWdvbigpICU+JSAgICAgICAgICAgICMgcHV0IHRoYXQgbGlzdCBpbiBhIHNpbXBsZSBmZWF0dXJlcyBwb2x5Z29uDQogICAgc3Rfc2ZjKGNycyA9IHByb2psbCkgJT4lICAjIHB1dCB0aGF0IHBvbHlnb24gaW50byBhIHNpbXBsZSBmZWF0dXJlcyBjb2x1bW4gYW5kIGdpdmUgcHJvamVjdGlvbiBpbmZvDQogICAgc3Rfc2YobmFtZT0iUmVtaSBEYWlnbGUiLA0KICAgICAgICAgZGVzY3JpcHRpb249IkF0bGFudGljIExUUkFOUyBjb25uZWN0aXZpdHkiLA0KICAgICAgICAgQ0hPTmVQcm9qZWN0PSIxLjEuMSIsDQogICAgICAgICBnZW9tZXRyeT0uKSU+JSAgICAjIGZpbmFsbHkgbWFrZSBpdCBhbiBzZiBvYmplY3QNCiAgICBzdF9jYXN0KCJNVUxUSVBPTFlHT04iKQ0KDQojIHNldCBBdGxhbnRpYyBMVFJBTlMgY29ubmVjdGl2aXR5IHByb2plY3QNCkF0bGJib3ggPC0gYygtMTM1LjgwMDMsNDUuMzgzNywtMTIyLjA2OTQsNTYuMTY0NykNCkF0bGFudGljIDwtIGNiaW5kKA0KICAgICAgICAgICAgYyhBdGxiYm94WzFdLEF0bGJib3hbM10sQXRsYmJveFszXSxBdGxiYm94WzFdLEF0bGJib3hbMV0pLA0KICAgICAgICAgICAgYyhBdGxiYm94WzJdLEF0bGJib3hbMl0sQXRsYmJveFs0XSxBdGxiYm94WzRdLEF0bGJib3hbMl0pDQogICAgICAgICkgJT4lIA0KICAgIGxpc3QoKSAlPiUgICAgICAgICAgICAgICAgICAjIHB1dCB0aGF0IG1hdHJpeCBpbiBhIGxpc3QNCiAgICBzdF9wb2x5Z29uKCkgJT4lICAgICAgICAgICAgIyBwdXQgdGhhdCBsaXN0IGluIGEgc2ltcGxlIGZlYXR1cmVzIHBvbHlnb24NCiAgICBzdF9zZmMoY3JzID0gcHJvamxsKSAlPiUgICMgcHV0IHRoYXQgcG9seWdvbiBpbnRvIGEgc2ltcGxlIGZlYXR1cmVzIGNvbHVtbiBhbmQgZ2l2ZSBwcm9qZWN0aW9uIGluZm8NCiAgICBzdF9zZihuYW1lPSJSZW1pIERhaWdsZSIsDQogICAgICAgICBkZXNjcmlwdGlvbj0iQkMgTFRSQU5TIGNvbm5lY3Rpdml0eSIsDQogICAgICAgICBDSE9OZVByb2plY3Q9IjEuMS4xIiwNCiAgICAgICAgIGdlb21ldHJ5PS4pICU+JSAgICAjIGZpbmFsbHkgbWFrZSBpdCBhbiBzZiBvYmplY3QNCiAgICBzdF9jYXN0KCJNVUxUSVBPTFlHT04iKQ0KDQojIGJpbmQgYWxsIG15IHNpdGVzIHRvZ2V0aGVyDQpzaXRlcyA8LSByYmluZChPSEksQkMsQXRsYW50aWMpDQoNCmBgYA0KDQpGaW5hbGx5LCBwbG90IGl0IQ0KDQoNCmBgYHtyfQ0KY29scyA8LSBSQ29sb3JCcmV3ZXI6OmJyZXdlci5wYWwobnJvdyhzaXRlcyksIkRhcmsyIikNCg0KbGVhZmxldChzaXRlcykgJT4lDQogICAgYWRkVGlsZXMoKSAlPiUgDQogICAgYWRkUG9seWdvbnMoZ3JvdXAgPSB+ZGVzY3JpcHRpb24sDQogICAgICAgICAgICAgICAgY29sb3IgPSBjb2xzKSAlPiUNCiAgICAgYWRkTGVnZW5kKCJ0b3ByaWdodCIsIA0KICAgICAgICAgICAgICAgY29sb3JzID0gY29scywNCiAgICAgICAgICAgICAgIGxhYmVscyA9IHVuaXF1ZShzaXRlcyRkZXNjcmlwdGlvbikpDQogICAgDQpgYGA=